import { defineStore } from 'pinia'

/**用户权限store */
export const useAuthStore = defineStore('base_auth_user', {
  state: () => {
    return {
      /**用户信息 */
      base_auth_userinfo: '',
      /* 权限树 */
      base_auth_tree: '',
      /**访问令牌 */
      base_auth_token: '',
    }
  },
  getters: {
    /**仅判断是否登录使用 */
    isLoggedIn: (state) => state.base_auth_token
  },
  actions: {
    /**登录成功后设置用户信息 */
    getUserInfo (result) {
      this.base_auth_userinfo = result
      this.base_auth_token = result.token
    },
    /* 设置用户权限 */
    getUserPermission (result) {
      this.base_auth_tree = result
    },
    /**清除登录信息 */
    cleanAuthInfo () {
      this.base_auth_userinfo = ''
      this.base_auth_tree = ''
      this.base_auth_token = ''
      localStorage.removeItem('base_auth_user')
    },
  },
  persist: {
    // 存储位置，默认 localStorage
    storage: localStorage,
  }
})
